package task2;

import java.io.File;

import java.util.Scanner;

/**
 * 实现将指定目录中的所有内容删除，包含子目录中的内容都要全部删除
 */
public class DeleteFiles {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要删除的指定目录：");
        String pathname = scanner.next();
        delete(pathname);
    }

    // 删除内容
    private static void delete(String pathname) {
        // 生成File对象
        File file = new File(pathname);
        // 判断该路径是否存在
        if (file.exists()){
            // 判断当前File对象是否是文件
            if (file.isFile()){
                // 若是文件，则删除即可
                System.out.println("文件 " + file.getName() + " 已删除！");
                file.delete();
            }
            // 如果是文件夹
            else {
                // 先获取该文件夹下的所有文件名
                String[] strings = file.list();
                for (String s:strings) {
                    // 对当前文件下的该文件拼接路径，递归调用删除方法
                    delete(pathname + "/" + s);
                }
                // 当前目录下文件为空，可删除该目录
                System.out.println("目录 " + file.getName() + " 已删除！");
                file.delete();
            }
        }else
            System.out.println("没有该目录！");
    }
}
